package examples.calculator;

import java.util.Scanner;

/**
 * Java 简易计算器示例
 * 
 * 知识点：
 * 1. 用户输入处理
 *    - Scanner 类用于获取用户输入
 *    - nextDouble() 方法读取浮点数
 *    - next().charAt(0) 读取字符
 * 
 * 2. 条件判断
 *    - switch 语句用于根据运算符执行不同操作
 *    - 处理除数为零的特殊情况
 * 
 * 3. 基本算术运算
 *    - 加法、减法、乘法、除法的实现
 * 
 * 4. 程序流程控制
 *    - 使用 return 提前结束方法
 *    - 资源管理：使用完 Scanner 后关闭
 * 
 * 5. 用户交互
 *    - 提示信息的设计
 *    - 结果的格式化输出
 * 
 * 这个简单的计算器程序展示了如何将基本语法、控制流程和用户输入处理
 * 结合起来，创建一个实用的应用程序。
 */
public class SimpleCalculator {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        System.out.println("简易计算器");
        System.out.print("请输入第一个数字: ");
        double num1 = scanner.nextDouble();
        
        System.out.print("请输入运算符 (+, -, *, /): ");
        char operator = scanner.next().charAt(0);
        
        System.out.print("请输入第二个数字: ");
        double num2 = scanner.nextDouble();
        
        double result = 0;
        
        switch (operator) {
            case '+':
                result = num1 + num2;
                break;
            case '-':
                result = num1 - num2;
                break;
            case '*':
                result = num1 * num2;
                break;
            case '/':
                if (num2 != 0) {
                    result = num1 / num2;
                } else {
                    System.out.println("错误：除数不能为零");
                    scanner.close();
                    return;
                }
                break;
            default:
                System.out.println("不支持的运算符");
                scanner.close();
                return;
        }
        
        System.out.println(num1 + " " + operator + " " + num2 + " = " + result);
        scanner.close();
    }
}